package Dao.Admin;

import Entity.Role.Role;
import Entity.Role.Teacher;

import java.sql.Connection;
import java.util.List;

public interface GradingManagementDao {
    /**
     * 查询评阅教师角色是否存在
     *
     * @param tno 教师工号
     * @return 操作影响的行数
     */
    Integer reviewerQuery(String tno, Connection conn);

    /**
     * 查询答辩组教师角色是否存在
     *
     * @param tno 教师工号
     * @return 操作影响的行数
     */
    Integer replyReviewerQuery(String tno, Connection conn);

    /**
     * 查询学生是否已分配评阅教师
     *
     * @param sno 学生学号
     * @return 操作影响的行数
     */
    Integer stuReviewerQuery(String sno, Connection conn);

    /**
     * 新增评阅教师角色
     *
     * @param tno 教师工号
     * @return 操作影响的行数
     */
    Integer reviewerAssign(String tno, Connection conn);

    /**
     * 新增答辩组教师角色
     *
     * @param tno 教师工号
     * @return 操作影响的行数
     */
    Integer replyReviewerAssign(String tno, Connection conn);

    /**
     * 新增评阅教师表师生对信息
     *
     * @param tno 教师工号
     * @param sno 学生学号
     * @return 操作影响的行数
     */
    Integer gradingAdd(String tno, String sno, Connection conn);


    /**
     * 查询所有教师角色
     *
     * @param type 1 教师角色名为评阅教师  2 教师角色名为
     * @return Role列表
     */
    List<Role> reviewerAllQuery(Integer type, Connection conn);


    /**
     * 获取所有的答辩教师
     *
     * @return Teacher对象的列表
     */
    List<Teacher> getAllByRole(String roleName, Connection conn);

}
